﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Repetition.Domain
{
    public interface IProblemList : IDisposable
    {
        void Load(ICollection<Subject> subjects); // accept filter, to allow filtering on difficulty/importance etc.
        Problem Get(int index);
        void Add(Problem problem);
        void SaveChanges(Problem problem );
        void Remove(Problem problem);
        int Count { get; }
        Problem GetNext(Problem problem);
        Problem GetPrevious(Problem problem);
        bool HasNext(Problem problem);
        bool HasPrevious(Problem problem);
        ICollection<Problem> GetAll();
        void Clear();
    }
}
